1. Technical Field
The invention is a communication network of interconnected zones of intelligent nodes which employs a high speed polling process performed by nodes which are master nodes governing respective ones of the zones.
2. Background Art
Referring now to FIG. 1B, the parent application identified above describes a communication network of nodes 16, each of the nodes including a node processor for relaying messages between others of the nodes. A plurality of links 18 connect the nodes in multiple rings 22 of nodes, the network being divided into plural zones wherein each node responds only to a master node 14 in the local zone. Those nodes located at boundaries between adjacent zones are gateway nodes 20 and respond to master nodes of the adjacent zones, each of the gateway nodes being connected to nodes in adjacent zones of the network. Each node processor performs a distributed protocol for terminating a message if the message or a reply to the message from another node has been previously received or seen at the node. The node processors of the master nodes perform polling by transmitting a message authorizing a particular one of the other nodes in the local zone to transmit a new message, while the node processors in other nodes transmit a new message only upon receipt of the polling message from the local master node authorizing the particular node to transmit a new message. The polling feature permits all control of communication in the network to be concentrated in the master nodes.
One feature which maximizes the reliability of such a communication network is that the transmitting and relaying of messages (including polling messages) by each node in the network is performed in accordance with a flooding method in which each node broadcasts the message it is transmitting or relaying to all adjacent nodes. As a result, a message transmitted on the network will be broadcast eventually to all nodes, but, because of the "anti-body" algorithm performed by each node (in which the node kills any message it has previously transmitted), the message is seen by each node only once. The method of the invention "floods" the network with the message and chooses the shortest path between the transmitting and receiving nodes because it chooses all paths. Reliability of such a network is maximum because the loss of a single link (or even several links in most cases) cannot prevent the message from eventually reaching its destination, because the message travels on all links.
The entire network is monitored by each master node periodically polling all nodes within its zone. In doing so, the master node transmits a polling message addressed to a certain node, to which only the addressed node responds with an answering message. Once it receives the answering message, the master node repeats the process for the next node until all nodes in the zone have been polled. Thus, the master node transmits a succession of polling messages to successive nodes and receives successive responses. In the parent application, both the polling message and the answering message are flooded throughout the entire zone of the network.
While the foregoing provides an orderly and highly reliable polling system, it consumes a great deal of time in polling all nodes, which slows down the routine process of data aquisition. This is because each polling message must be relayed through intervening nodes to the message's destination node, that node's response must be relayed back and then the foregoing process must be repeated with the next node to be polled. Thus, the polling time for a network increases rapidly as a function of the number of nodes, a significant disadvantage. For example, in a simple version of the type of network described in the parent application comprising (in this example) a ring of ten nodes, one of which is a master node, polling of all nodes by the master node would require a total of 50 successive message transmissions ("hops") between adjacent nodes. Nevertheless, it has seemed that the disadvantage of the time required to poll the network was justified by the inherent reliability.
Accordingly, it is an object of the invention to reduce the amount of time required to poll all nodes without concomitantly reducing the reliability of the network.
The invention described in the above-referenced co-pending application is an improvement in the type of network disclosed in the parent application which greatly reduces the number of "hops" required to poll all nodes without significantly reducing the reliability of such a network. Specifically, the succession of polling messages addressed to different individual nodes is replaced by a single polling message not addressed to any particular node (or, equivalently, addressed to all nodes), so that it elicits a response from each node it encounters. The first node to receive the polling message transmits an answering message in the return direction (i.e., down the link that the polling message arrived from), but not in any other direction. Simultaneously, the first node broadcasts the polling message in all other directions (i.e., down all other links to which it is connected, except the link down which it transmits the answering message). Next, a second node (i.e., the node closest to the first node) receives the polling message relayed by the first node, and the second node follows the same procedure previously performed by the first node. Specifically, the second node transmits an answering message to the first node (i.e., down the return direction from which the relayed polling message arrived at the second node), while simultaneously the second node repeats or broadcasts the polling message in all other directions.
In the co-pending application, all nodes are programmed to broadcast any message other than a polling message in all directions, so that poll-answering messages from remote nodes flood the network. Thus, in the foregoing example, the second node's answering message is broadcast by the first node on all links to which the first node is connected.
In the co-pending application, each remote node may be programmed to sense whether a received message not addressed to it is the answering message of another remote node responsive to a polling message. If so, the relaying node transmits the other node's answering message down the same direction it previously transmitted its own answering message responsive when it responded to the polling message.
The advantage is that the remote nodes transmit their answering messages to the master node as fast as the polling message travels from node to node throughout the network. In contrast, the network of the parent application had a delay between successive poll-answering messages received at the master node corresponding to the transit time of the next polling message to the next node to be polled and the transit time of the next node's poll-answering message back to the master node. It will be recalled that in the simple examplary network discussed previously with reference to the parent application, a total of 50 "hops" were required to poll all nodes. In the invention of the co-pending application, the same network layout would require only 10 hops to poll all nodes, a factor of 5 improvement in speed where the number of nodes is 10. A greater improvement factor is achieved in larger networks.
The reliability is not reduced comcomitantly (e.g., by a factor of 5) however. Since the polling message floods the network, the polling process of the present invention is susceptible to failure only if the link in the return direction is broken sometime during the very short time interval after it has received the polling message from the upstream node and before the response is received back at the upstream node. Thereafter, the messages are flooded in the manner described in the above-referenced parent application. The time interval referred to above is so short that the probability of such a failure is negligible. Thus, a negligible decrease in reliability is incurred for a very large increase in polling speed.